package com.luoye.lj.util.strutil;

import java.lang.reflect.Field;

/**
 * Created with IntelliJ IDEA.
 * User: Dave Liu
 * Date: 15-10-26
 * Time: 下午7:19
 * 将对象中所有的String字段进行去空格的操作
 */
public class StringTrimmer {
    //将对象中的String字段进行去空格的操作
    public static Object trim(Object o){
        if(o instanceof String){
            if(o==null){
                return o;
            }
            return ((String)o).replaceAll("\\s*","");
        }
       Class classObj=o.getClass();
       Field[] fields= classObj.getDeclaredFields();
       for(int i=0;i<fields.length;i++){
           Field field=fields[i];
           field.setAccessible(true);
           String fieldType=field.getType().getSimpleName();
           if("String".equals(fieldType)){
               try {
                   String fieldValue=field.get(o)+"";
                   if(fieldValue!=null){
                       fieldValue=fieldValue.replaceAll("\\s*","");
                   }
                   field.set(o,fieldValue);
               } catch (IllegalAccessException e) {
                   e.printStackTrace();
               }
           }
       }
       return o;
    }
}
